home *** CD-ROM | disk | FTP | other *** search
-
-
-
- RRRRWWWWHHHHOOOODDDD((((1111MMMM)))) RRRRWWWWHHHHOOOODDDD((((1111MMMM))))
-
-
-
- NNNNAAAAMMMMEEEE
- rwhod - system status server
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ////uuuussssrrrr////eeeettttcccc////rrrrwwwwhhhhoooodddd [ ----mmmm [ _t_t_l ] ]
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- _R_w_h_o_d is the server which maintains the database used by the _r_w_h_o(1C) and
- _r_u_p_t_i_m_e(1C) programs. Its operation is predicated on the ability to
- _b_r_o_a_d_c_a_s_t or _m_u_l_t_i_c_a_s_t messages on a network. _R_w_h_o_d is started at system
- initialization if the configuration flag _r_w_h_o_d is set ``on'' with
- _c_h_k_c_o_n_f_i_g(1M). Site-dependent options and arguments to _r_w_h_o_d belong in
- the file /_e_t_c/_c_o_n_f_i_g/_r_w_h_o_d._o_p_t_i_o_n_s.
-
- _R_w_h_o_d operates as both a producer and consumer of status information. As
- a producer of information it periodically queries the state of the system
- and constructs status messages which are broadcast or multicast on a
- network. As a consumer of information, it listens for other _r_w_h_o_d
- servers' status messages, validating them, then recording them in a
- collection of files located in the directory /_u_s_r/_s_p_o_o_l/_r_w_h_o.
-
- The server transmits and receives messages at the port indicated in the
- ``rwho'' service specification; see _s_e_r_v_i_c_e_s(4). The messages sent and
- received, are defined in <protocols/rwhod.h>:
-
- struct outmp {
- char out_line[8]; /* tty name */
- char out_name[8]; /* user id */
- long out_time; /* time on */
- };
-
- struct whod {
- char wd_vers; /* protocol version # */
- char wd_type; /* packet type: WHODTYPE_STATUS */
- char wd_pad[2];
- int wd_sendtime; /* time stamp by sender */
- int wd_recvtime; /* time stamp applied by receiver */
- char wd_hostname[32];/* host's name */
- int wd_loadav[3];/* load average as in uptime */
- int wd_boottime; /* time system booted */
- struct whoent {
- struct outmp we_utmp;/* active tty info */
- int we_idle; /* tty idle time */
- } wd_we[1024 / sizeof (struct whoent)];
- };
-
-
- All fields are converted to network byte order prior to transmission.
- The load averages represent smoothed CPU loads over the 5, 10, and 15
- minute intervals prior to a server's transmission; they are multiplied by
- 100 for representation in an integer.
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- RRRRWWWWHHHHOOOODDDD((((1111MMMM)))) RRRRWWWWHHHHOOOODDDD((((1111MMMM))))
-
-
-
- The host name included is that returned by the _g_e_t_h_o_s_t_n_a_m_e(2) system
- call, with any trailing domain name omitted. The array at the end of the
- message contains information about the users logged in to the sending
- machine. This information includes the contents of the _u_t_m_p(4) entry for
- each non-idle terminal line and a value indicating the time in seconds
- since a character was last received on the terminal line.
-
- Messages received by the _r_w_h_o server are discarded unless they originated
- at an _r_w_h_o server's port. In addition, if the host's name, as specified
- in the message, contains any unprintable ASCII characters, the message is
- discarded. Valid messages received by _r_w_h_o_d are placed in files named
- whod._h_o_s_t_n_a_m_e in the directory /usr/spool/rwho. These files contain only
- the most recent message, in the format described above.
-
- Status messages are generated approximately once every 3 minutes. _R_w_h_o_d
- performs an _n_l_i_s_t(3) on /unix every 30 minutes to guard against the
- possibility that this file is not the system image currently operating.
-
- _R_h_w_o_d recognizes the following options:
-
- -m causes _r_w_h_o_d to use IP multicast (instead of broadcast or unicast)
- on all multicast-capable interfaces (excluding the loopback
- interface). The multicast reports are sent with a time-to-live of
- 1, to prevent forwarding beyond the directly-connected subnet(s).
-
- -m _t_t_l
- causes _r_w_h_o_d to send IP multicast datagrams with a time-to-live of
- _t_t_l, via the default multicast interface only rather than all
- interfaces. _t_t_l must be between 0 and 32. Note that "-m 1" is
- different than "-m", in that "-m 1" specifies transmission on one
- interface only. This allows the information to be relayed between
- networks.
-
- When "-m" is used without a _t_t_l argument, the program accepts multicast
- _r_w_h_o_d reports from all multicast-capable interfaces. If a _t_t_l argument
- is given, it accepts multicast reports from only one interface, the one
- on which reports are sent (which may be controlled via the host's routing
- table). Regardless of the "-m" option, the program accepts broadcast or
- unicast reports from all interfaces. Thus, this program will hear the
- reports of old, non-multicasting _r_w_h_o_d's, but, if multicasting is used,
- those old _r_w_h_o_d's won't hear the reports generated by this program.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- rwho(1C), ruptime(1C), rup(1C)
-
- BBBBUUUUGGGGSSSS
- Status information should be sent only upon request rather than
- continuously. People often interpret the server dying or network
- communication failures as a machine going down.
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-